package com.pojoin.cms.context;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * @author haines
 * @date 2010.03.11
 * properties文件读取通用类
 */
public abstract class PropertiesHive {
	protected Properties properties= new Properties();

	/**
	 * 返回指定键对应的值
	 * @param key
	 * @return
	 */
	public String getValueByKey(String key)
	{
		return  properties.getProperty(key);
	}
	
	public PropertiesHive()
	{
		try {
			properties.load(getPropertyStream());
		} catch (Exception e) {
			e.printStackTrace();
		}		
	}
	
	/**
	 * 属性文件输入流，需重载，提供标准的InputStream和标准的properties格式。
	 * 例如：
	 *   #xxxxxxxxxxxxxxxxxxxx
	 *   key=value
	 * @return
	 * @throws IOException
	 */
	abstract protected InputStream getPropertyStream() throws IOException;
}
